// 引入vue的插件
import Vue from "vue"
// 导入vue-router的插件
import VueRouter from "vue-router"
// 使用VueRouter
Vue.use(VueRouter)
// 导入想要的使用路由的组件
import Home from "@/views/Home"
import Topic from "@/views/Topic"
import Category from "@/views/Category"
import Car from "@/views/Car"
import User from "@/views/User"
import Goodsdetails from "@/views/goodsdata/Goodsdetails"
// 引入商品的搜索页面
import GoodsSearch from "@/views/GoodsSearch.vue"
// 引入商品的分类组件
import GoodsFnlei from "@/views/HomeComponents/GoodsFnlei"
// 配置路由的规则 const routes= []
const routes = [
    {
        // 这一个是设置页面一打开是的默认页面
        path: '/',   //根目录
        redirect: '/home'   
        // redirect 读  瑞的软可特  英文:重新使用
       
    },
    {
        path: '/home',
        component: Home,
        name: 'home',
        meta: {
            isshowtanbar: true // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
        // 添加商品搜索的路由 这个是一个二级路由
        children:[{
            path:'goodssearch',   //注意二级路由是不能代'/'号的
            component: GoodsSearch,
            name:'GoodsSearch' ,  //设置别名
            meta: {
                isshowtanbar: false // meta 字段为路由元信息,给当前路由添加一些标记信息
            },
        }]
    },
    {
        path: '/topic',
        component: Topic,
        name: 'topic',
        meta: {
            isshowtanbar: true // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
    },
    {
        path: '/category',
        component: Category,
        name: 'category',
        meta: {
            isshowtanbar: true // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
    },
    {
        path: '/car',
        component: Car,
        name: 'car',
        meta: {
            isshowtanbar: true // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
    },
    {
        path: '/user',
        component: User,
        name: 'user',
        meta: {
            isshowtanbar: true // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
    },
    {
        path: '/goodsdetails',
        component: Goodsdetails,
        name: 'goodsdetails',
        meta: {
            isshowtanbar: false // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
    },
    {
        // 点击首页中的网格组件触发商品的分类页面
        path: '/goodsFnlei',
        component: GoodsFnlei,
        name: 'goodsFnlei',
        meta: {
            isshowtanbar: true // meta 字段为路由元信息,给当前路由添加一些标记信息
        },
    }
    
]

// 创建路由的实例化对象
const router =new VueRouter({
    // 将设置好的routes挂载其中
    routes,
})


router.beforeEach((to,from,next)=>{

    // 获取localStorage中的token值,判断是否存在,如果存在,旧表名用户已经登入
    let token = localStorage.getItem("token");
//     if(token){
//         next()     
//    }else{
//     next()  
//     if(to.name == 'car'){
//         next('/user');
//     }
//    }
    // console.log(to,from);
    next()     //关闭路由守卫,让页面显示
    if(to.name == 'car'){   //判断点击的页面是否是购物车页面
        if(token){          //判断token是否存在
            next()          //如果存在就放行
        }else{
            Vue.prototype.$toast({               
                type:'fail',
                message:'登入页面我来了',
                duration:2000,
            })         
            next('/user');   //如果不存在就跳转到我的页面进行登入
        }
           
    }
    
})

// 最后导出路由的实例化对象 routes
export default router
